package com.lonely.deliver.domain.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.lonely.common.core.domain.BaseEntity;
import com.lonely.deliver.enums.OrderDeliverEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;


/**
 * @author 黄志标
 * @date 2025-08-15 17:29
 * @Description: 订单发货单表
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@TableName("sys_order_deliver")
public class SysOrderDeliver extends BaseEntity implements Serializable {

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 订单编号
     */
    private String produceOrderId;

    /**
     * 发货单号
     */
    private String deliverNumber;

    /**
     * 发货单状态
     */
    private Integer deliverStatus;

    /**
     * 发货状态字符串
     */
    private String deliverStatusStr;

    /**
     * 发货尺码明细
     */
    private String deliveryInfo;

    /**
     * 发货件数
     */
    private Integer deliveryQty;

    /**
     * 发货尺码明细字符串
     */
    private String deliverySizeDetails;

    /**
     * 查验（质检）时间
     */
    private Date inspectionTime;

    /**
     * 入仓收货正品信息
     */
    private String qualityInfo;

    /**
     * 发货类型
     *
     * @see OrderDeliverEnum.ReasonEnum
     */
    private Integer reason;

    /**
     * 发货原因
     */
    private String reasonStr;

    /**
     * 退货单尺码明细
     */
    private String returnInfo;

    /**
     * 退货单尺码明细字符串
     */
    private String returnInfoStr;

    /**
     * 退货单件数
     */
    private Integer returnQty;

    /**
     * 退货单状态
     */
    private Integer returnStatus;

    /**
     * 退货单状态字符串
     */
    private String returnStatusStr;

    /**
     * 退货单时间
     */
    private Date returnTime;

    /**
     * 退货单类型
     */
    private Integer returnType;

    /**
     * 退货单类型字符串
     */
    private String returnTypeStr;

    /**
     * 发货时间
     */
    private Date sendTime;

    /**
     * 入库尺码明细
     */
    private String storeInfo;

    /**
     * 入库尺码明细
     */
    private String storeInfoStr;

    /**
     * 入库时间
     */
    private Date storeTime;

    /**
     * 入库数
     */
    private Integer storedQty;

    /**
     * JIT子订单号
     */
    private String subProduceOrderCode;

    /**
     * 发货单状态
     *
     * @see OrderDeliverEnum.StatusEnum
     */
    private Integer status;

}
